/**
 * 
 */
package com.hexacta.hrs.report;

import java.io.ByteArrayOutputStream;
import java.util.Map;

/**
 * @author mfunes
 *
 */
public interface Report {
	
	/**
	 * Crea un pdf del reporte indicado en el reportName.
	 * @param reportName nombre del reporte
	 * @param reportTemplateLocation ubicacion donde se encuentra el jrxml
	 * @param filters filtros necesarios para la generacion del reporte.
	 * @param parameteres Parametros del reporte.
	 * @return
	 */
	ByteArrayOutputStream createPDFReport(final String reportName, final String reportTemplateLocation, final Map<String, Object> filters, final Map<String, Object> parameters);
	
	/**
	 * Crea un excel del reporte indicado en el reportName.
	 * @param reportName nombre del reporte
	 * @param reportTemplateLocation ubicacion donde se encuentra el jrxml
	 * @param filters filtros necesarios para la generacion del reporte.
	 * @param parameteres Parametros del reporte.
	 * @return
	 */
	ByteArrayOutputStream createXLSReport(final String reportName, final String reportTemplateLocation, final Map<String, Object> filters, final Map<String, Object> parameters);

}
